The present invention relates generally to the monitoring and reporting of vending machine data and, in particular, to a configurable vending machine audit module.
Various forms of monitoring and reporting systems are often associated with vending machines. Such systems can provide periodic monitoring and reporting of various events within the machines, such as inventory changes, maintenance requirements, service calls, cash receipts, demand for specific products, sold-out conditions, and various alarm conditions, among others.
Some monitoring and reporting systems include a central computer complex which receives data from multiple vending machines at remote locations. In such systems, a communication link is established between the central computer and the individual machines through the use, for example, of standard telephone lines or radio communications. At predetermined intervals, each vending machine accesses the communication link and calls the central computer. Once communication is established, the vending machine can transmit pertinent information about its status. Such systems can help eliminate unnecessary service calls and facilitate better supply route planning. The monitoring and reporting systems can lead to improved auditing practices as well as increased sales.
Generally, the vending machine and the central computer communicate using a predefined protocol which may include, for example, a series of fixed packets each of which is designed to contain a predetermined type of information. Such techniques can make it difficult to change the types of data that are reported by the vending machine because new software must be provided to the vending machine reporting unit to allow the desired data to be collected and reported. Accordingly, a technique which simplifies the process for configuring and reconfiguring a vending machine data monitoring and reporting unit so that different types of data can be collected and reported is desirable.
In general, according to one aspect, a method of auditing data from a vending machine includes providing commands to an audit module connected to the vending machine. The commands are generated externally and indicate a type of vending machine data to be processed by the audit module, how the data is to be processed by the audit module, and a location in memory in the audit module for storage of that type of vending machine data. The method also includes configuring the audit module to process vending machine data in response to the received commands.
According to another aspect, an audit module arranged for connection to a vending machine includes a controller and memory. The audit module is configured to receive externally-generated commands indicating a type of vending machine data to be processed by the audit module, how the data is to be processed by the audit module, and a location in the audit module memory for storage of that type of vending machine data. The audit module is configured to process vending machine data based on the received commands.
Some implementations include one or more of the following features. The commands can be transmitted to the audit module from a remote host. The audit module can be configured, for example, to report vending machine data to the remote host based on the received commands. The audit module also can be configured to store at least one command which is to be executed by the audit module upon the occurrence of a specified event. Similarly, the audit module can be configured to store a stack of commands which are to be executed by the audit module upon the occurrence of one or more specified events.
The commands can specify vending machine data that is to be selectively retained for processing by the audit module. In addition, in response to one or more of the commands, a removably coupled device in the vending machine can be accessed. For example, the removably coupled device can be polled to retrieve information stored therein. Requested information can be transmitted from the audit module to a host. Accessing the removably coupled device can include updating, modifying or replacing software in the removably coupled device.
The audit module memory also can be reconfigured in response to received commands. Thus, operation of the audit module can be modified or changed. Reconfiguring the memory can cause the audit module to execute an operation with respect to vending machine data. In some implementations, each command has a syntax that includes variables whose values can be selected from among multiple options.
In various implementations, one or more of the following advantages may be present. The data to be monitored by the vending machine audit module and transmitted to the host can be changed dynamically without having to upgrade or modify the software code or replace a semiconductor chip in the audit module. A great amount of flexibility can, therefore, be provided with respect to monitoring and reporting vending machine data.